SiteMove/Geo move not handled properly during container load#26708
Open
lindsnguyen wants to merge 2 commits intomicrosoft:mainfrom
Open
SiteMove/Geo move not handled properly during container load#26708lindsnguyen wants to merge 2 commits intomicrosoft:mainfrom
lindsnguyen wants to merge 2 commits intomicrosoft:mainfrom
Conversation
jatgarg
reviewed
Mar 12, 2026
jatgarg
reviewed
Mar 12, 2026
jatgarg
reviewed
Mar 12, 2026
jatgarg
reviewed
Mar 12, 2026
| ...getOdspResolvedUrl(error.redirectUrl), | ||
| shareLinkInfo: odspResolvedUrl.shareLinkInfo, | ||
| }; | ||
| await redeemSharingLink(redirectedResolvedUrl, storageTokenFetcher, logger); |
Contributor
There was a problem hiding this comment.
Lets catch the error if it happens and throw the original redirection error otherwise we will swallow the original issue since redeem was just best effort flow. For now you can also add a telemetry event if we come into this flow.
9f9b838 to
c3a47c4
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes ODSP container load failures when site/geo moves trigger location redirection during load by ensuring sharing-link redemption happens against the redirected URL before the retry.
Changes:
- On
locationRedirectionerrors, attempts to redeemsharingLinkToRedeemagainst the redirected resolved URL (best-effort) before rethrowing the original redirect error. - Adds telemetry for successful fallback (
RedirectRedeemFallback) and redemption failures (RedirectRedeemFallbackError). - Adds unit tests covering redirect redemption, no-shareLink path, and redeem-failure path.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| packages/drivers/odsp-driver/src/fetchSnapshot.ts | Adds redirect-time share link redemption logic and a location-redirection type guard. |
| packages/drivers/odsp-driver/src/test/fetchSnapshot.spec.ts | Adds tests validating redirect redemption behavior and telemetry for success/skip/failure paths. |
c3a47c4 to
9437eb2
Compare
9437eb2 to
8f93276
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
When a site move or geo move triggers a location redirection during container load, the sharing link was not being redeemed against the new (redirected) URL. The redirect itself is handled earlier in the flow, but after the redirect the sharing link is not part of the resolved URL. This means on the subsequent retry at the new location, the sharing link can no longer be redeemed — causing the container load to fail for users who accessed via a sharing link.
fixes https://dev.azure.com/fluidframework/internal/_workitems/edit/58231
Solution